.. _cmmCfgSetInMode: cmmCfgSetInMode ================= ----------------- SYNOPSYS ````````` .. code-block:: none VT_I4 cmmCfgSetInMode ( [in] VT_I4 Axis, [in] VT_I4 InputMode, [in] VT_I4 IsInverse ) DESCRIPTION ````````````` - 4 가지 형태의 Feedback 펄스의 입력모드를 설정할 수 있습니다. PARAMETER ``````````` - Axis: 축번호. 축번호는 상수값으로 [cmX1] 부터 0 번째 축을 기준 축으로 임의의 축을 설정할 수 있습니다. - InputMode : cmmCfgSetInMode 함수의 인자이며, Feedback 펄스의 입력 모드 설정값입니다. 입력 모드는 다음과 같이 5 가지 설정값을 가집니다. +--------------------+-------------------------------------------------------------------------------------+ | Value | Meaning | +====================+=====================================================================================+ | 0 (cmIMODE_ABIX) | 1X A/B (1 채배 엔코더 입력 모드) | +--------------------+-------------------------------------------------------------------------------------+ | 1 (cmIMODE_AB2X) | 2X A/B (2 채배 엔코더 입력 모드) | +--------------------+-------------------------------------------------------------------------------------+ | 2 (cmIMODE_AB4X) | 4X A/B (4 채배 엔코더 입력 모드) | +--------------------+-------------------------------------------------------------------------------------+ | 3 (cmIMODE_CWCCW) | CW/CCW (A 펄스 - 카운트 증가, B 펄스 - 카운트 감소) | +--------------------+-------------------------------------------------------------------------------------+ | 4 (cmIMODE_STEP) | 이 모드에서는 Feedback 위치값을 읽으면 Command 위치값이 바이패스(bypass)됩니다. | | | 엔코더 피드백이 없는 경우(스텝모터)에 이 모드를 선택합니다. | +--------------------+-------------------------------------------------------------------------------------+ - IsInverse : cmmCfgSetInMode 함수의 인자이며, Feedback Count 값의 UP/DOWN 방향을 반대로 할 것인지에 대한 설정 값입니다. +--------------------+-------------------------------------------------------------------------------+ | Value | Meaning | +====================+===============================================================================+ | 0 | Feedback count 의 UP/DOWN 방향을 바꾸지 않습니다. | +--------------------+-------------------------------------------------------------------------------+ | 1 | Feedback count 의 UP/DOWN 방향을 반대로 합니다. | +--------------------+-------------------------------------------------------------------------------+ RETURN VALUE ````````````` +--------------+----------------+ | Value | Meaning | +==============+================+ | 음수 | 수행 실패 | +--------------+----------------+ | cmERR_NONE | 수행 성공 | +--------------+----------------+ Example ````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #include “Cmmsdk.h” #include “CmmsdkDef.h” void OnSetInMode () { long nAxisNo = 1; // Feedback Pulse 입력 모드를 설정할 축을 선택합니다. long nInputMode, nIsReverse; // 입력 모드 정보. /* 설정되어있는 Feedback Pulse 입력 모드를 확인하여, 입력 모드를 ‘4 채배 엔코더 입력 모드’ 로 설정합니다. */ // 입력 모드 및 입력 펄스 로직 설정 상태 확인 if (cmmCfgGetInMode ( nAxisNo, &nInputMode, &nIsReverse ) == cmERR_NONE ) { if ( nInputMode != cmIMODE_AB4X) { cmmCfgSetInMode ( nAxisNo, cmIMODE_AB4X, cmFALSE ); } } } --------------------------------------------------------------------------------------------------------- Visual Basic Private Sub OnSetInMode () Dim nAxisNo As Long ‘ Feedback Pulse 입력 모드를 설정할 축을 선택합니다. Dim nInputMode As Long, nIsReverse As Long ‘ 입력 모드 정보. nAxisNo = 1 ‘ 설정되어있는 Feedback Pulse 입력 모드를 확인하여, ‘ 입력 모드를 ‘4 채배 엔코더 입력 모드’ 로 설정합니다. ‘ 입력 모드 및 입력 펄스 로직 설정 상태 확인 If cmmCfgGetInMode ( nAxisNo, nInputMode, nIsReverse ) = cmERR_NONE Then If nInputMode <> cmIMODE_AB4X Then Call cmmCfgSetInMode ( nAxisNo, cmIMODE_AB4X, cmFALSE ) End If End If End Sub --------------------------------------------------------------------------------------------------------- Delphi procedure OnSetInMode (); var nAxisNo : LongInt; // Feedback Pulse 입력 모드를 설정할 축을 선택합니다. nInputMode, nIsReverse : LongInt; // 입력 모드 정보. begin nAxisNo := 1; { 설정되어있는 Feedback Pulse 입력 모드를 확인하여, 입력 모드를 ‘4 채배 엔코더 입력 모드’ 로 설정합니다. } // 입력 모드 및 입력 펄스 로직 설정 상태 확인 if cmmCfgGetInMode ( nAxisNo, @nInputMode, @nIsReverse ) = cmERR_NONE then begin if nInputMode <> cmIMODE_AB4X then begin cmmCfgSetInMode ( nAxisNo, cmIMODE_AB4X, cmFALSE ); end; end; end; .. seealso:: :ref:`cmmCfgGetInMode`